package org.streets.database;


/**
 * HanderManager Interface
 * 
 * @author dzb
 *
 */
public interface RecordHandlerManager {
	/**
	 * 
	 * @param <T>
	 * @param clazz
	 *            the {@link Class} for which we register a
	 *            {@link RecordHandler}
	 * @param handler
	 *            the {@link RecordHandler} to be registered to the given
	 *            {@link Class}
	 */
	public <T> void register(Class<T> clazz, RecordHandler<T> handler);
	/**
	 * 
	 * @param <T>
	 * @param clazz
	 * @return the {@link RecordHandler} registered for the given
	 *         {@link Class}
	 */
	public <T> RecordHandler<T> getHandler(Class<T> clazz);

}